package com.sbtr.business.classify.service;

import com.sbtr.business.classify.entity.AlgoParamVersion;
import com.sbtr.business.classify.entity.AlgoTemplate;
import com.sbtr.business.classify.dto.AlgoTemplateDto;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.stereotype.Service;
import com.sbtr.common.PageDto;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * 轻量化算法模板(高质量芯片项目) Service接口
 *
 * @author maojianping
 * @since  2023-04-17
 */
public interface AlgoTemplateService extends IService<AlgoTemplate> {

     PageDto<AlgoTemplate> pageList(AlgoTemplateDto AlgoTemplateDto);

    AlgoTemplate uploadAndExtractor(AlgoTemplateDto algoTemplateDto, MultipartFile file, String username) throws IOException;

    AlgoTemplateDto generationAlgoTemplate(Long algoVersionId);

    /**
     * 根据算法对象和对应参数历史版本记录删除：算法参数、算法文件、算法参数历史版本、参数版本集合
     * @param id
     * @return
     */
    boolean delete(Long id);

    /**
     * 根据算法模板文件ID集合批量删除
     * @param listIds
     * @return
     */
    boolean batchDelete(List<Long> listIds);
}
